/**
 * huize Service Inc
 * All Rights Reserved @2018
 */
package com.huize.ladon.apm.common.constant;

/**
 * 描述: 消息常量，适用于 消息发送/消息/编码/解码
 *
 * @author tianyuliang
 * @version $Id: MessageConstants.java, v0.1 2019/3/29
 */
public final class MessageConstants {


    /***************************** MQ消息数据编码常量定义 ***************************/
    /**
     * 协议头标识符
     */
    public final static byte STX = 0x7B;
    /**
     * 协议结束符
     */
    public final static byte ETX = 0x7C;

    /***************************** MQ消息编码/解码常量定义 ***************************/
    /**
     * 协议头长度
     */
    public final static byte STX_LENGTH = 0x3;

    /**
     * 协议尾长度
     */
    public final static byte ETX_LENGTH = 0x1;

    /**
     * 消息类型位，长度1
     */
    public final static int MSG_TYPE_LENGTH = 1;

    /**
     * Body数据长度位，长度4
     */
    public final static int BODY_LENGTH = 4;

    /**
     * CRC校验位，长度1
     */
    public final static int CRC_CHECK_LENGTH = 1;
    /**
     * offset偏移量，默认值1
     */
    public final static int FIRST_OFFSET = 1;


    /***************************** MQ消息类型定义 ***************************/
    /**
     * 接口信息
     */
    public final static byte MSG_TYPE_INTERFACE = 0x10;
    /**
     * 链路信息
     */
    public final static byte MSG_TYPE_TRACE = 0x11;
    /**
     * debug信息
     */
    public final static byte MSG_TYPE_DEBUG = 0x12;
    /**
     * 心跳信息
     */
    public final static byte MSG_TYPE_HEART_BEAT = 0x13;

}
